home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / CPlusPlus / SUCursor.xh < prev    next >
Encoding:
Text File  |  1994-04-19  |  3.9 KB  |  164 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:CPlusPlus:SUCursor.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emitxh.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Constants
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODStorageUnitCursor_xh
  18. #define SOM_ODStorageUnitCursor_xh
  19.  
  20. class ODStorageUnitCursor;
  21.  
  22. #define ODStorageUnitCursor_MajorVersion 0
  23. #define ODStorageUnitCursor_MinorVersion 0
  24.  
  25. /* C++ som defs */
  26. #include <somcls.xh>
  27.  
  28. /* Include C++ parent defs */
  29. #ifndef SOM_ODObject_xh
  30. #include <ODObject.xh>
  31. #endif
  32.  
  33. #ifndef ODStorageUnitCursor_API
  34. #define ODStorageUnitCursor_API
  35. /*
  36.  * -- The Class API
  37.  */
  38.  
  39. /*
  40.  * Start of user-defined types:
  41.  */
  42. class ODExtension;
  43. class ODSession;
  44. class ODStorageUnitRefIterator;
  45. class ODPart;
  46. class ODStorageUnitView;
  47. class ODDraft;
  48.  
  49. /*
  50.  * End of user-defined types.
  51.  */
  52.  
  53. #if applec ^ PRAGMA_LIB_EXPORT
  54. #pragma lib_export on
  55. #endif
  56.  
  57.  
  58. /* A procedure to create the ODStorageUnitCursor Class */
  59. SOMEXTERN SOMClass * SOMLINK ODStorageUnitCursorNewClass(
  60.         integer4 majorVersion,
  61.         integer4 minorVersion);
  62.  
  63. /* The API to the ODStorageUnitCursor class object, and the methods it introduces. */
  64. typedef struct ODStorageUnitCursorClassDataStructure {
  65.     SOMClass *classObject;
  66.     somMToken InitStorageUnitCursor;
  67.     somMToken GetCursor;
  68. } ODStorageUnitCursorClassDataStructure;
  69. #ifdef SOM_NO_DATA_EXPORTS
  70.    SOMEXTERN ODStorageUnitCursorClassDataStructure * ODStorageUnitCursorGetClassData ( void );
  71. #   undef ODStorageUnitCursorClassData
  72. #   define ODStorageUnitCursorClassData (*ODStorageUnitCursorGetClassData())
  73. #else
  74.    SOMEXTERN ODStorageUnitCursorClassDataStructure ODStorageUnitCursorClassData;
  75. #endif /* SOM_NO_DATA_EXPORTS */
  76.  
  77. #if applec ^ PRAGMA_LIB_EXPORT
  78. #pragma lib_export off
  79. #endif
  80.  
  81. #define _ODStorageUnitCursor ODStorageUnitCursorClassData.classObject
  82.  
  83. /* The API to parentMtabs for ODStorageUnitCursor, and the instance data it introduces. */
  84. SOMEXTERN struct ODStorageUnitCursorCClassDataStructure {
  85.     somMethodTabs parentMtab;
  86.     somDToken instanceDataToken;
  87. } ODStorageUnitCursorCClassData;
  88.  
  89. /*
  90.  * -- Typedefs for Procedures that support Methods introduced by ODStorageUnitCursor
  91.  */
  92. SOMEXTERN {
  93. typedef void   (* SOMLINK somTD_ODStorageUnitCursor_InitStorageUnitCursor)(ODStorageUnitCursor *somSelf, Environment *ev,
  94.         ODPropertyName propertyName,
  95.         ODValueType valueType,
  96.         ODValueIndex valueIndex);
  97. typedef void   (* SOMLINK somTD_ODStorageUnitCursor_GetCursor)(ODStorageUnitCursor *somSelf, Environment *ev,
  98.         ODPropertyName* propertyName,
  99.         ODValueType* valueType,
  100.         ODValueIndex* valueIndex);
  101. }
  102.  
  103. #endif /* ODStorageUnitCursor_API */
  104.  
  105.  
  106. /*
  107.  * -- Method Tokens are Thunks
  108.  */
  109. #undef somresolve_
  110. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  111.  
  112. /*
  113.  * -- The C++ Wrapper Class for ODStorageUnitCursor
  114.  */
  115. class ODStorageUnitCursor : public ODObject
  116. {
  117. public:
  118.  
  119. void *operator new(size_t size)
  120. {
  121.    SOM_IgnoreWarning(size);
  122.    if (!ODStorageUnitCursorClassData.classObject) 
  123.       ODStorageUnitCursorNewClass(ODStorageUnitCursor_MajorVersion,ODStorageUnitCursor_MinorVersion);
  124.    return (void *)
  125.       ((somTD_SOMClass_somNew)
  126.       somresolve_((SOMObject *)((void*)(ODStorageUnitCursorClassData.classObject)),
  127.                  SOMClassClassData.somNew))
  128.          ((SOMClass *)((void*)(ODStorageUnitCursorClassData.classObject)));
  129. }
  130.  
  131. void operator delete(void * obj)
  132. {
  133.    ((SOMObject *)obj)->somFree();
  134. }
  135.  
  136. /* public method: InitStorageUnitCursor */
  137. void   InitStorageUnitCursor(Environment *ev,
  138.         ODPropertyName propertyName,
  139.         ODValueType valueType,
  140.         ODValueIndex valueIndex)
  141. {
  142.    SOM_Resolve(this,ODStorageUnitCursor,InitStorageUnitCursor)
  143.     (this,ev,propertyName,valueType,valueIndex);
  144. }
  145.  
  146.  
  147. /* public method: GetCursor */
  148. void   GetCursor(Environment *ev,
  149.         ODPropertyName* propertyName,
  150.         ODValueType* valueType,
  151.         ODValueIndex* valueIndex)
  152. {
  153.    SOM_Resolve(this,ODStorageUnitCursor,GetCursor)
  154.     (this,ev,propertyName,valueType,valueIndex);
  155. }
  156.  
  157.  
  158.  
  159. };   /* ODStorageUnitCursor */
  160.  
  161.  
  162.  
  163. #endif       /* SOM_ODStorageUnitCursor_xh */
  164.